Support and optimization for parallel sparse programs with array intrinsics of Fortran 90

نویسندگان

  • Rong-Guey Chang
  • Tyng-Ruey Chuang
  • Jenq Kuen Lee
چکیده

Fortran 90 provides a rich set of array intrinsic functions that are useful for representing array expressions and data parallel programming. However, the application of these intrinsic functions to sparse data sets in distributed memory environments, is currently not supported by vendors of Fortran 90 and HPF compilers. Our recent research work has been aimed at, providing parallel processing supports for sparse array intrinsics of Fortran 90. Our supporting library uses the following two-level design: (1) in our low-level routines, a sparse input matrix needs to be specified with compression/distribution schemes by programmers, and (2) in the high-level representation, sparse array functions are overloaded for array intrinsic interfaces so that programmers need not be concerned about low-level details. This raises a very interesting optimization problem in the strategies used to transform high-level representations to low-level routines by the automatic selection of distribution and compression schemes for sparse data sets. In this paper, we propose solutions to address this optimization problem, which is shown to be NP-hard. We develop a heuristic algorithm based on annotated program graphs. To the best of our knowledge, our selection scheme, is the first to automatically select compression and distribution schemes for sparse data arrays with the array intrinsics of Fortran 90 in a distributed memory environment. Experimental results show that our selection algorithms are consistent with our cost model, and effective in selecting appropriate compression and distribution schemes for improving the performance of application programs that A preliminary version of this work appeared in the Proceedings of the International Conference on Parallel Processing (ICPP ’99), September 1999 (8). Corresponding author. Fax: +88-63-572-3694. E-mail address: [email protected] (J.K. Lee). 0167-8191/$ see front matter 2004 Published by Elsevier B.V. doi:10.1016/j.parco.2004.02.004 528 R.-G. Chang et al. / Parallel Computing 30 (2004) 527–550 operate on sparse data sets. Our experiments were performed on an IBM SP-2 machine using our parallel sparse array intrinsics for Fortran 90. 2004 Published by Elsevier B.V.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Optimizations for Parallel Sparse Programs with Array Intrinsics of Fortran 90

In our recent work, we have been working on providing parallel sparse supports for array intrinsics of Fortran 90. Our supporting library uses a two-level design. In the low-level routines, it requires the input sparse matrices to be speciied with compression/distribution schemes for array functions. In the high-level representations, sparse array functions are overloaded with Fortran 90 array ...

متن کامل

Eecient Support of Parallel Sparse Computation for Array Intrinsic Functions of Fortran 90 *

Fortran 90 provides a rich set of array intrinsic functions. Each of these array intrinsic functions operates on the elements of multi-dimensional array objects concurrently. They provide a rich source of parallelism and play an increasingly important role in automatic support of data parallel programming. However, there is no such support if these intrinsic functions are applied to sparse data...

متن کامل

Co-array Fortran Performance and Potential: An NPB Experimental Study

Co-array Fortran (CAF) is an emerging model for scalable, global address space parallel programming that consists of a small set of extensions to the Fortran 90 programming language. Compared to MPI, the widely-used messagepassing programming model, CAF’s global address space programming model simplifies the development of single-program-multiple-data parallel programs by shifting the burden fo...

متن کامل

ADAPTing Fortran 90 Array Programs for Distributed Memory Architectures

We describe a system that we are developing, whose purpose is to automatically transform data parallel Fortran 90 programs for execution on MIMD distributed memory architectures. The system is called ADAPT (for`Array Distribution Automatic Parallelisation Tool'). Programs for the system should make full use of the array features of Fortran 90, as parallelism is automatically extracted from the ...

متن کامل

Sampling and Analytical Techniques for Data Distribution of Parallel Sparse Computation

We present a compile{time method to select compression and distribution schemes for sparse matrices which are computed using Fortran 90 array intrinsic operations. The selection process samples input sparse matrices to determine their sparsity structures. It is also guided by cost functions of various sparse routines as measured from the target machine. The Fortran 90 array expression is then t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Parallel Computing

دوره 30  شماره 

صفحات  -

تاریخ انتشار 2004